import { defineConfig, globalIgnores } from "eslint/config";
import globals from "globals";
import js from "@eslint/js";
import pluginVue from "eslint-plugin-vue";

export default defineConfig([
  {
    name: "app/files-to-lint",
    files: ["**/*.{js,mjs,jsx,vue}"],
  },

  globalIgnores(["**/dist/**", "**/dist-ssr/**", "**/coverage/**"]),

  {
    languageOptions: {
      globals: {
        ...globals.browser,
      },
    },
  },
  // 取消Component name "index" should always be multi-word.eslint的warning
  {
    rules: {
      "react/function-component-definition": [2, { namedComponents: "arrow-function" }],
    },
  },

  js.configs.recommended,
  ...pluginVue.configs["flat/essential"],
]);
